body {
    margin: 0 auto;
    font-family: ".萍方-简", "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", sans;
    color: #222222;
    line-height: 1.5;
    padding: 15px;
    background: #FFF;
    font-size: 16px;
    width: 80%;
}

kbd {
    padding: 0 .29412em;
    border-radius: .3rem;
    border: .1rem solid #c9c9c9;
    border-bottom-color: #bcbcbc;
    background-color: #fcfcfc;
    color: #555;
    font-size: 85%;
    box-shadow: 0 0.1rem 0 #b0b0b0;
    word-break: break-word;
}

.MathJax span {
    display: inline;
    position: static;
    border: 0;
    padding: 0;
    margin: 0;
    vertical-align: 0;
    line-height: normal;
    text-decoration: none;
    font-size: 18px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: ".萍方-简", "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", sans;
    -webkit-font-smoothing: initial;
    font-weight: 100;
    color: var(--text-color);
    line-height: 1.35; 
    font-variant-numeric: lining-nums;
    font-weight: bold;
    padding: 0;
    margin-top: 1.2em;
    margin-bottom: 0.6em;
    line-height: 1.35;
    color: #000;
}

p {
    font-family: ".萍方-简", "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", sans;
    padding: 0;
    margin-top: 16px;
    margin-bottom: 16px;
}

h1 {
    text-align: center;
    font-size: 2.4em;
    padding-bottom: 1em;
    border-bottom: 3px double #eee;
} 
h1::after {
    border-bottom: 2px solid #232323;
    content: "";
    width: 100px;
    display: block;
    margin: 0px auto;
    height: 1px;
    position: relative;
    right: 16px;
}

h2 {
    text-align: center;
    font-size: 1.8em;
}

h2::after {
    border-bottom: 1px solid #232323;
    content: "";
    width: 80px;
    display: block;
    margin: 0px auto;
    height: 1px;
    position: relative;
    right: 10px;
}

h3 {
    font-size: 1.6em;
}

h4 {
    font-size: 1.4em;
}

h5 {
    font-size: 1.2em;
}

h6 {
    font-size: 1.2em;
}

a {
    color: #40ccab;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    text-decoration: none;
    word-break: break-all;
}

a:hover {
    color: #66ccff;
}

a:visited {
    color: purple;
}

ul, ol {
    padding: 0;
    padding-left: 24px;
}

li {
    font-family: ".萍方-简", "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", sans;
    line-height: 24px;
}

li ul, li ol {
    margin-left: 16px;
}

p, ul, ol {
    font-family: ".萍方-简", "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", sans;
    font-size: 16px;
    line-height: 30px;
}

pre {
    display: block;
    overflow-y: hidden;
    overflow-x: auto;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
}

code {
    font-family: Courier, 'Courier New', monospace;
    word-break: break-all;
    color: #314659;
    line-height: 1;
    vertical-align: middle;
    margin: 0 3px;
    background: #f2f4f5;
    font-size: 14px!important;
    padding: .2em .3em!important;
    border-radius: 3px!important;
    border: 1px solid #eee!important;
}

pre code {
    display: block;
    overflow-x: auto;
    padding: 0.5em;
    color: #222222;
    background-color: #FFFFFF;
    line-height: 1.5;
    font-family: Monaco, Monospace;
    white-space: pre;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
}

pre code.markdown-metadata {
    border-left: .5em solid #80CBC4;
}

aside {
    display: block;
    float: right;
    width: 390px;
}

blockquote {
    color: #666;
    border-left: .5em solid #7a7a7a;
    padding: 0 1em;
    margin-left: 0;
}

blockquote p {
    color: #666;
}

hr {
    display: block;
    text-align: left;
    margin: 1em 0;
    border: none;
    height: 1px;
    background: #999;
}

table {
   padding: 0;
   margin: 1rem 0.5rem;
   border-collapse: collapse;
}

table tr {
   border-top: 1px solid #ddd;
   background-color: white;
   margin: 0;
   padding: 0;
}

table tr:nth-child(2n) {
   background-color: #FFF;
}

table tr th {
   font-weight: 100!important;
   background-color: #F1F1F1;
   border: 1px solid #ddd;
   margin: 0;
   padding: 6px 13px;
}

table tr td {
   border: 1px solid #ddd;
   margin: 0;
   padding: 6px 13px;
}

table tr th :first-child, table tr td :first-child {
   margin-top: 0;
}

table tr th :last-child, table tr td :last-child {
   margin-bottom: 0;
}

div.mermaid-diagram {
    margin: 16px 0px 16px 0px;
    overflow-y: hidden;
}

div.flowchart-diagram {
    padding: 0px 5px 0px 5px;
    margin: 16px 0px 16px 0px;
    width: fit-content;
    overflow: hidden;
}

div.wavedrom-diagram {
    padding: 0px 5px 0px 5px;
    margin: 16px 0px 16px 0px;
    width: fit-content;
    overflow: hidden;
}

div.plantuml-diagram {
    padding: 5px 5px 0px 5px;
    margin: 16px 0px 16px 0px;
    width: fit-content;
    overflow: hidden;
}

.img-package {
    text-align: center;
}

img.img-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

span.img-caption {
    min-width: 20%;
    max-width: 80%;
    display: inline-block;
    padding: 10px;
    margin: 0 auto;
    border-bottom: 1px solid #c0c0c0;
    color: #6c6c6c;
    text-align: center;
    line-height: 1.5;
}

.emoji_zero,.emoji_one,.emoji_two,.emoji_three,.emoji_four,.emoji_five,.emoji_six,.emoji_seven,.emoji_eight,.emoji_nine {
    margin-left: 5px;
    margin-right: 8px;
}

div.preview-hint {
    opacity: 0.5;
    margin-top: 30%;
    margin-bottom: 30%;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* For Highlight.js Line Number */
table.hljs-ln tr {
    border: none;
    background-color: transparent;
}

table.hljs-ln tr td {
    border: none;
    background-color: transparent;
}

table.hljs-ln tr td.hljs-ln-numbers {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    text-align: center;
    color: #AAA;
    border-right: 1px solid #DDD;
    vertical-align: top;
    padding-right: 5px;
    white-space: nowrap;
}

table.hljs-ln tr td.hljs-ln-code {
    padding-left: 10px;
}

::-webkit-scrollbar {
    background-color: #EAEAEA;
    width: 14px;
    height: 14px;
    border: none;
}

::-webkit-scrollbar-corner {
    background-color: #EAEAEA;
}

::-webkit-scrollbar-button {
    /* This selector affects the styling of both the up & down and left & right buttons of a scrollbar */
    height: 14px;
    width: 14px;
    background-color: #EAEAEA;
}

::-webkit-scrollbar-button:hover {
    background-color: #D0D0D0;
}

::-webkit-scrollbar-button:active {
    background-color: #B2B2B2;
}

::-webkit-scrollbar-track {
    /* This selector affects the styling of the area in the scrollbar between the two buttons */
    background-color: #EAEAEA;
}

::-webkit-scrollbar-thumb {
    /* This selector affects the styling of draggable element of the scollbar */
    border: none;
    background-color: #DADADA;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #D0D0D0;
}

::-webkit-scrollbar-thumb:active {
    background-color: #B2B2B2;
}

::-webkit-scrollbar-button:horizontal:increment {
    background-image: url(right.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

::-webkit-scrollbar-button:horizontal:decrement {
    background-image: url(left.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

::-webkit-scrollbar-button:vertical:increment {
    background-image: url(down.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

::-webkit-scrollbar-button:vertical:decrement {
    background-image: url(up.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

::selection {
  background: #1976D2;
  color: #EEEEEE;
}

.modal-box {
    background-color: rgb(234, 234, 234);
    background-color: rgba(234, 234, 234, 0.95);
}

span.modal-close {
    color: #666666;
}

span.modal-close:hover,
span.modal-close:focus {
    color: #222222;
}
